This invention relates generally to computer vision, and more specifically to the generation of control variables for computer vision.
Typical input devices for computers include those for text entry, such as keyboards, and those for indication of directional movement, such as pointing devices. Common pointing devices include mouses, trackballs, joysticks, and touch pads. Pointing devices are used to navigate graphical user interfaces, such as those provided by versions of the Microsoft(copyright) Windows(copyright) operating system, as well as to play games, etc. Pointing devices are used for indication of directional movement because it is generally believed that pointing devices provide for a more intuitive and natural manner by which to accomplish this type of computer input as compared to input devices intended primarily for text entry, such as keyboards.
However, with the advent of video camera technology, it has been suggested that tracking the motion of an object, such as a pencil or a user""s head, may be an even more intuitive and natural manner by which to accomplish computer input. For example, rather than using a joystick to navigate within a three-dimensional environment of a game such as a flight simulator, a user might instead move his or her head to indicate to the computer in which direction to move. Desirably, the video camera would pick up the change in movement of the user""s head, and provide a corresponding input to the game. The use of a sensor such as a video camera to permit a computer to xe2x80x9cseexe2x80x9d an object and act thereon is generally known as computer vision.
Techniques by which to track objects like a user""s head using a video camera, such that motion tracking variables tracking the desired object are produced, already existxe2x80x94for example, such as that described in the copending and coassigned U.S. patent application entitled xe2x80x9cMethod and Apparatus for Tracking an Object Using a Continuously Adapting Shift Mean.xe2x80x9d However, the use of such motion tracking variables to specifically control movement within games and of pointers within user interfaces, etc., has in practice been generally recognized as difficult to accomplish. Thus, using video camera technology as an input device for a computer has not seen widespread use. It is noted that the variables are in fact static x, y, z, etc., numbers, not the rate of change in these variables, such that the term xe2x80x9cmotion tracking variablesxe2x80x9d as used herein refers either to static or true motion tracking variables.
For example, simply mapping the motion tracking variables to the plane of a computer screen to control the x and y coordinates of an object on the screen provides for disadvantageous computer input. Tracking the user""s head to control this object on the screen typically yields very jittery motion of the object. The slightest movement of the user""s head may result in movement of the object, and even when the user attempts to keep his or her head still to maintain the object""s current position, the object is likely to jitter around annoyingly, because the video camera has discrete pixels to use for tracking continuous motion so there is often a +/xe2x88x92 one pixel uncertainty in tracking.
Therefore, there is a need for more sophisticated use of video camera technology as a manner by which to accomplish computer input. The use of video camera technology to provide computer input should, for instance, provide for less-jittery control within computer applications such as games and graphical user interfaces.
The present invention relates to the generation of control variables for computer vision. In one embodiment of the invention, a computerized system includes a video camera and a controller. The video camera tracks an object (e.g., in one particular embodiment, the head of a user of the computer). The controller (which in one particular embodiment is desirably a computer program running on a computer) generates control variables having sensitivity to movement of the object that varies in accordance with movement of the object from a neutral position. In one particular embodiment, these control variables may be used to provide smooth control of computer programs such as graphical user interfaces and games. Besides this embodiment, the invention includes other embodiments, including computerized systems, methods, computers, and computer-readable media of varying scope. The invention is not limited to any particular embodiment described in this summary.